1. Field of the Invention
The present invention relates generally to computer networks and, more particularly to a method for enhancing the operation of a client browser.
2. Description of the Related Art
The Internet, and more particularly the World Wide Web, continues to receive tremendous publicity. It is a collection of interconnected computer networks that covers the entire globe. The network of computers which collectively comprise this phenomenon has grown at a staggering rate, almost doubling in size every ten months for the past six years. The data available has grown as fast as the Internet itself and measures in the terabytes.
The World Wide Web is that part of the Internet which represents all the computers (servers) that offer users access to hypermedia-based information and documentation. Hypermedia enables users to navigate the Internet, moving with point-and-click ease from one location or one document to another. Browsers provide a graphical interface to the Web with menu options, icons and images you click on, buttons, graphics, and links that you use to access files of information from the Web. These files are known as xe2x80x9cdocuments.xe2x80x9d A Web document can be just one page, or it can be several pages. Even if the document is just one page, you usually find links to other documents, and from those documents are links to yet others. The first document you access usually has an entry xe2x80x9cpoint,xe2x80x9d or home page, so named because it usually contains the creator""s name, a company name if its a business, and pointers to the document contents.
The World Wide Web uses several protocols to transport and display the multimedia resources that reside on computers (servers) around the world. One of them is the HTTP (HyperText Transport Protocol). HTTP works with Web servers to provide a client-server environment for the Internet. HTTP supports the ability of the Internet to provide access to an enormous quantity of interlinked resources.
The basic model of the Internet is straightforward, it can be thought of as a global client/server application. A client program (Web browser) needs to know the address of the resource (document) the user wants and it needs a way to communicate with the server. The address is known as the Uniform Resource Locator (URL) and the means of communication is through a protocol such as HTTP. The URL is actually present in the document being displayed. When a user clicks on a hypertext link, the browser gets the URL from the document. Given the protocol and address, the browser transmits a request to open a connection to the server. Once the connection is made, the browser sends a request for the document. The server sends the document, if it exists, and disconnects from its end of the connection. As previously stated the first information that you get from a remote Web server is known as a home page. The home page is an initial interface to a series of other documents, files, and resources that reside on that computer or on other Web servers around the world.
The document which is returned by the server is formatted with HTML (Hypertext Markup Language) commands. HTML is a computer programming language used to create, format, and identify titles, subheadings, bold, italics, and hyperlinks that enable you to jump between places within a document, on the same computer (server), or to another remote server located somewhere on the Internet. HTML is comprised of a standard set of codes or xe2x80x9ctagsxe2x80x9d that are inserted into a document and leaves the interpretation of these marked elements up to the browser displaying the document. World Wide Web pages are written and composed in the HTML page description language. Despite the fact that different browsers understand more or less sophisticated versions of the HTML language, the de facto standard for Web browsers is that they interpret HTML documents at the very least. Unfortunately, not every Web browser works in the same way. Some browsers support graphics, other do not. Some browsers have extensive formatting support features while other have just a few. Some do not support the more advanced features.
HTML compliant Web browsers parse the stream of commands and use tools from their native operating environment to build display images representing the material in the command stream. Furthermore, HTML compliant Web Browsers typically expect a webpage, formatted in HTML, to come either from one of the many servers on the Internet network, or from a file. In either situation, the HTML stream must define where the page is coming from. If the webpage can come from a variety of media (CD-ROM,DVD) a regular browser and standard HTML could not handle that.
Another shortcoming of present browser technology concerns the finite time period between the time a user initiates a link and the return of the webpage. We live in a world where speed and convenience has become the norm. As the economies of nations around the world become increasingly interdependent, speed of information delivery becomes a valuable competitive tool. While the Internet has no peer with regard to moving massive amounts of information rapidly, most users of the Internet still experience varying degrees of frustration over the delays inherent in the time required to transfer documents across the network. The amount of time it takes to transfer an image across a network depends on a number of factors, amongst them are the transfer rate, the quantity of data, network traffic and the throughput speed of storage devices. Since networks are usually comprised of many sub-networks, it is extremely difficult to estimate actual data transfer rates. It may be that the backbone of the network is fiber optic, but if the link from the backbone to the host or client computer is something slower like ethernet or much worse a modem, rates will suffer.
The second most influential factor affecting data transfer rates is the quantity of data transferred. The more data you have, the longer it takes to transfer it across a network. Digital images, for example, are extremely data intensive. Some Web documents have so many inline images, or a very few large ones, that they can take several minutes to load on a slow (modem) connection. While data reduction techniques may be employed to lessen the impact the tradeoff is image quality.
A third variable, over which the user has no control concerns network traffic. The combination of the above factors create a situation which impedes the exchange of information between clients and servers on the World Wide Web and frustrates end users as a result.
Another shortcoming associated with existing browser technology concerns the limited recognition of the ever growing list of protocols with which multimedia resources are transported and displayed over the internet. The World Wide Web is generally considered to consist primarily of the following three services, HTTP, Gopher, and FTP. Popular Browsers, like Netscape Navigator utilize the HTTP protocol to access hypertext documents from Web servers. HTTP is the service that enables Web clients to receive hypertext content that can link to other hypertext contentxe2x80x94and to nonhypertext content as well. In and of itself, HTTP is just an Internet protocol like so many other protocols. It""s popularity stems mainly from its early use. There exists today a number of more efficient protocols not currently supported by the current generation of browsers. It would be desirable for a regular browser to be able to access resources that utilize new or existing protocols other than HTTP.
A further shortcoming associated with the internet is that of security. Security, and its many implications, has become and remains a real concern since the very inception of the Internet. Parents are concerned that their children run the risk of gaining easy access, or being inadvertently exposed to, ever increasing amounts of adult oriented information not intended for minors. Employers concern run to their employees who must be constrained from utilizing the internet for purposes other than to satisfy their employers needs. Given the widespread corporate acceptance of the Internet, unproductive use of the resource at the corporate level could translate into billions of dollars of lost revenue.
In addition to the concerns of multiple protocols, security, transfer speed, and non-HTML datastreams, a further concern relates to the issue of file compression. While compressing and decompressing files are a necessary consequence of today""s file sizes and transmission rates. It would be desirable for a user to not have to be concerned with the vagaries of the different compression formats and versions in existence today.
A need therefore exists for a method and apparatus which addresses the various shortcomings associated with current browser technology.
Therefore, it is an object of the invention to enhance the operation of a web browser by providing a means for recognizing URL requests from diverse media sources including a hard disk cache, and read only media including CD-Rom and DVD from a network.
It is another object of the present invention to enhance the operation of a web browser by providing a means for modifying an incoming data stream (e.g. to allow advertisements into a stream, or add a set of consistent xe2x80x9cbuttonsxe2x80x9d to all HTML pages, or add JAVA applications including smart printing, site viewers, and smart site searching).
It is a further object of the present invention to enhance the operation of a web browser by providing a capability for decrypting downloaded information in encrypted format to allow access to compressed media content like CD Roms and DVD.
It is a still further object of the present invention to enhance the operation of a web browser by providing a security mechanism which would allow a user access to only specific media or portions of media.
It is yet still a further object of the present invention to enhance the operation of a web browser whereby a micro web server would be able to access information utilizing protocols other than the Hypertext Transfer Protocol (HTTP).
It is a still further object of the present invention to enhance the operation of a web browser by providing a means for enhancing a users perception of download speed associated with user requested HTML pages.
Accordingly, these and other objects of the present invention are achieved by a Micro Web Server (hereinafter MWS) that runs on the same machine as the browser, but in a separate process. This allows for local processing to occur before the HTML data stream reaches the browser, thereby allowing for manipulation of that string, while still using standard off the shelf browser technology. The MWS effectively sits between the browser and the data that the browser requests. From the browser""s perspective all data is coming from a web server when in fact the data may be coming from a set of diverse sources. The MWS also allows for xe2x80x9cintelligentxe2x80x9d brokering between a browser and a datastream.
The MWS also allows for translation of different protocols to HTTP and the different data types to HTML, which would allow access and display of documents that couldn""t normally be displayed using a standard HTML browser (e.g. IBM 3270 screen format and protocol).
This mechanism would also allow for a hybrid remote-local media paradigm, where a backend (e.g. a DB2 database) can reside wholly on local media, or be split between local and remote media. Furthermore, this mechanism could allow for translation of URL""s before they are actually fetched from the Web.
The MWS mechanism can further enhance the perception of page download time by intelligently pre-fetching links. That is, whenever a page is fetched by the MWS, any reference to a URL is noted. After the page is sent to the browser for display, the MWS goes through the list of possible links and starts pre-fetching those links and caching them on the local drive.
The MWS can also be used to enhance the printing of a Web document. If a user requests that a whole document be printed, the MWS can use a similar analysis as in the xe2x80x9cIntelligent pre-fetch of Linksxe2x80x9d to fetch the whole document and print it in the background.
The foregoing has outlined some of the more pertinent objects of the present invention. These objects should be construed to be merely illustrative of some of the more prominent features and applications of the invention. Many other beneficial results can be attained by applying the disclosed invention in a different manner or modifying the invention as will be described. Accordingly, other objects and a fuller understanding of the invention may be had by referring to the following detailed description of the preferred embodiment.